藉著 Day 14 建一個 Node.js 容器 所建立的基底,來製作一個 Image 並上傳到 Docker Hub 吧。
FROM node:12.19
WORKDIR /app
COPY ./time.js .
docker build .
建立映像#Step 1/3 : FROM node:12.19
# ---> 82c222f66a6c
#Step 2/3 : WORKDIR /app
# ---> Running in f480ee3e2d7f
#Removing intermediate container f480ee3e2d7f
# ---> 417bc3df1095
#Step 3/3 : COPY ./time.js .
# ---> 1295ab42cf68
# 獲得映像檔 ID Successfully built 1295ab42cf68
docker run -ti 1295ab42cf68 /bin/bash
node time.js
,你就會看見時間每秒不停的印出Mon Sep 13 2021 03:47:45 GMT+0000 (Coordinated Universal Time)
Mon Sep 13 2021 03:47:46 GMT+0000 (Coordinated Universal Time)
docker images
檢查你的映像檔清單# before
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 1295ab42cf68 33 minutes ago 918MB
# after
REPOSITORY TAG IMAGE ID CREATED SIZE
andy/nodejs12-custom <none> 1295ab42cf68 33 minutes ago 918MB
docker login
完成登入docker push <遠端 docker repo 名稱>
預設情況下,Dockerfile 是不允許存取 dockerfile 外層的資料夾內容。這裡的外層,是指 dockerfile 的檔案所在當作相對路徑起算點。換言之,dockerfile 放在專案的根目錄下,方能確保存取到全部內容
可以自行安裝文本工具即可,這邊提供簡化版的 vim 工具 - vi 的安裝方式:
# 進入容器
docker exec -it <container ID> bash
# 獲取套件清單
apt-get update
# 開始安裝
apt-get install vim-tiny
很高機會是你的登入狀態有問題(或是完全沒有登入),所以請執行 docker login
後,直到看見 Login Succeeded
字樣出現在命令列上